/*
	StructureShipyard.h
	(c)2000 Palestar Inc, Richard Lyle
*/

#ifndef STRUCTURESHIPYARD_H
#define STRUCTURESHIPYARD_H

#include "NounStructure.h"
#include "GameDll.h"

//----------------------------------------------------------------------------

class DLL StructureShipyard : public NounStructure
{
public:
	DECLARE_WIDGET_CLASS();

	// Types
	typedef WidgetReference< StructureShipyard >	wRef;

	// Construction
	StructureShipyard();

	// NounStructure interface
	int					maxDamage() const;					// how much damage can this structure take
	int					buildTechnology() const;			// technology level required to build
	int					buildTime() const;					// time in seconds to build this structure
	int					buildCost() const;					// cost to build this structure
	int					repairRate() const;					// damaged repaired per second

	Color				color() const;
	
	dword				planetFlags() const;
	int					workers() const;
	int					power() const;
	int					technology() const;

	bool				usable( NounShip * pShip ) const;
	CharString			useTip( NounShip * pShip ) const;
	bool				useConfirm( NounShip * pShip ) const;			// should the use of this structure be confirmed?
	CharString			useConfirmMessage( NounShip * pShip ) const;	// use confirmation message
	void				use( dword nWhen, NounShip * pShip );
};

//----------------------------------------------------------------------------


#endif

//----------------------------------------------------------------------------
//EOF

